--- title: "异或变换" created: 2025-11-28 tags: - 算法 --- # 异或变换 ## 题目 [异或变换](https://www.lanqiao.cn/problems/1592/learning/) ![[image-ce0dae33.png]] ## 思路分析 ![[image-bf6fc27a.png]] 应该是有规律可言的 异或有个性质 同样的数异或两次等于没做 所以很可能与n与t的奇偶性有关系 但是暂时找清楚到底是怎么个规律 先用暴力写一遍 把能拿的分拿到 一个细节 防止一轮中左边的改变了影响右边的效果 我们从右边开始做改变 ```cpp #include using namespace std; #define endl '\n' int n,t; int main() { ios::sync_with_stdio(0),cin.tie(0),cout.tie(0); cin>>n>>t; string s;cin>>s; while(t--){ for(int i=s.size();i>0;i--){ if(i>0){ s[i]=(s[i]-'0')^(s[i-1]-'0')+'0'; } } } cout<